package abel.wlmr.model.type;

import java.util.HashMap;
import java.util.Map;

public enum PeriodUnitType {
    Minute((byte) 0),
    Hour((byte) 1),
    Day((byte) 2),
    Month((byte) 3);

    private byte value;

    private static Map<Byte, PeriodUnitType> unitList = new HashMap<>();

    static {
        unitList.put((byte) 0, Minute);
        unitList.put((byte) 1, Hour);
        unitList.put((byte) 2, Day);
        unitList.put((byte) 3, Month);
    }

    private PeriodUnitType(byte value) {
        this.value = value;
    }

    public static PeriodUnitType findUnitByValue(byte v) {
        if (!unitList.containsKey(v)) {
            throw new IllegalArgumentException("not allowed value for period unit");
        }

        return unitList.get(v);
    }

    public byte getValue() {
        return this.value;
    }
}
